package org.agent.aigccore.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * 用户信息VO类
 */
@Setter
@Getter
@Schema(description = "用户信息")
public class UserVO {
    // Getters and setters
    /**
     * 用户ID
     */
    @Schema(description = "用户ID", example = "user123")
    private String userId;
    
    /**
     * 用户名
     */
    @Schema(description = "用户名", example = "admin")
    private String username;

    /**
     * 用户名
     */
    @Schema(description = "姓名", example = "admin")
    private String name;

    /**
     * 身份证
     */
    @Schema(description = "身份证号", example = "110101199001011234")
    private String idCard;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱", example = "admin@example.com")
    private String email;
    
    /**
     * 手机号
     */
    @Schema(description = "手机号", example = "13800138000")
    private String phone;
    
    /**
     * 角色
     */
    @Schema(description = "角色", example = "ADMIN")
    private String role;
    
    /**
     * 状态
     */
    @Schema(description = "状态", example = "ACTIVE")
    private String status;
    
    /**
     * 最后登录时间
     */
    @Schema(description = "最后登录时间", example = "2024-01-01T10:00:00")
    private Date lastLoginTime;
    
    /**
     * 创建时间
     */
    @Schema(description = "创建时间", example = "2024-01-01T00:00:00")
    private Date gmtCreate;
    
    /**
     * 更新时间
     */
    @Schema(description = "更新时间", example = "2024-01-01T10:00:00")
    private Date gmtModified;

    /**
     * 创建人
     */
    @Schema(description = "创建人", example = "admin")
    private String creator;

    /**
     * 更新人
     */
    @Schema(description = "更新人", example = "admin")
    private String modifier;

    /**
     * 备注
     */
    @Schema(description = "备注", example = "系统管理员")
    private String remark;
}